package com.baidu.sggc.core.common.utils;

public class MenuPathUtil {

    /**
     * 格式化菜单路径：
     * 1. 将各种乱七八糟的分隔符（>、-、空格）统一为 "-"
     * 2. 去掉多余的连续 "-"
     * 3. 保留前 3 个菜单项
     */
    public static String formatMenuPath(String rawPath) {
        if (rawPath == null || rawPath.trim().isEmpty()) {
            return rawPath;
        }

        // 1. 将各种可能的分隔符组合都替换成单个 "-"
        // \s* 表示可选空格，(>|-) 表示 > 或 -
        String cleaned = rawPath.replaceAll("\\s*(>|-)\\s*", "-");

        // 2. 去掉多余的连续 "-"
        cleaned = cleaned.replaceAll("-{2,}", "-");

        // 3. 去掉首尾的 "-"
        cleaned = cleaned.replaceAll("^-|-$", "");

        // 4. 按 "-" 分割并保留前三个
        String[] parts = cleaned.split("-");
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < parts.length && i < 3; i++) {
            if (i > 0) {
                sb.append("-");
            }
            sb.append(parts[i].trim());
        }

        return sb.toString();
    }

}
